# Copyright 2024 Bytedance Ltd. and/or its affiliates
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

from sandbox.runners.cuda import GPU_RUNNERS
from sandbox.runners.jupyter import run_jupyter
from sandbox.runners.major import MAJOR_RUNNERS
from sandbox.runners.minor import MINOR_RUNNERS
from sandbox.runners.types import (  # nopycln: import
    CellRunResult, CodeRunArgs, CodeRunResult, CommandRunResult, CommandRunStatus, Language, RunJupyterRequest,
)

# TODO: warning on name overwrite
CODE_RUNNERS = {
    **MAJOR_RUNNERS,
    **MINOR_RUNNERS,
    **GPU_RUNNERS,
}

__all__ = [
    'CODE_RUNNERS', 'CodeRunArgs', 'CodeRunResult', 'CommandRunResult', 'CommandRunStatus', 'RunJupyterRequest',
    'Language', 'CellRunResult', 'run_jupyter'
]
